import request from '@/config/axios'

// 知识库-素材 VO
export interface MaterialVO {
  id: number // 主键
  name: string // 素材名称
  materialType: number // 素材类型 0 文件夹，1 ppt，2 视频，3 音频，4 图片，5 word， 6 excel， 7 txt， 8 pdf
  parentId: number // 部素材挂载位置 0 跟节点，非0位某个文件夹id
  size: number // 素材大小，单位字节
  materialUrl: string // 素材存储地址
  viewUrl: string // 视频、音频、文档文件加工后存储地址
  workStatus: number // 加工状态 0 无需加工 1 加工中 2加工完成 4 加工失败
  workErrorInfo: string // 加工失败信息，多于2048的只保留前面的部分
  version: number // 行锁版本号
  deptId: number // 组归属部门（当前新增用户所在的部门）
  description: string // 描述
  videoDuration: number // 视频/音频 时长
}

// 知识库-素材 API
export const MaterialApi = {
  // 查询知识库-素材分页
  getMaterialPage: async (params: any) => {
    return await request.get({ url: `/course/material/page`, params })
  },

  // 查询知识库-素材详情
  getMaterial: async (id: number) => {
    return await request.get({ url: `/course/material/get?id=` + id })
  },

  // 新增知识库-素材
  createMaterial: async (data: MaterialVO) => {
    return await request.post({ url: `/course/material/create`, data })
  },

  // 修改知识库-素材
  updateMaterial: async (data: MaterialVO) => {
    return await request.put({ url: `/course/material/update`, data })
  },

  // 删除知识库-素材
  deleteMaterial: async (id: number) => {
    return await request.delete({ url: `/course/material/delete?id=` + id })
  },

  // 导出知识库-素材 Excel
  exportMaterial: async (params) => {
    return await request.download({ url: `/course/material/export-excel`, params })
  },
}